package com.sara.service;

import com.sara.entity.Permission;
import com.sara.entity.Role;

import java.util.List;

public interface PermissionService {

    /**
     * 通过员工id查找角色
     * @param id 员工id
     * @return 角色对象
     */
    List<Role> findRoleByEmployeeId(Integer id);

    /**
     * 查找所有权限
     * @return 返回权限集合
     */
    List<Permission> findAllPermission();

    /**
     * 通过角色id查找权限集合
     * @param id 角色id
     * @return 权限集合
     */
    List<Permission> findPermissionByRoleId(Integer id);

    List<Permission> findPermissionByType(String permissionTypeMenu);

    void save(Permission permission);

    Permission findPermissionById(Integer id);

    /**
     * 把当前权限的下级所有权限递归出来到集合里面返回到前端，
     * @param id
     * @return
     */
    List<Permission> findPermissionWithPid(Integer id);

    void edit(Permission permission);

    /**
     * 根据id删除权限
     * @param id
     */
    void delete(Integer id);
}
